package scu.maqiang.cte;

import scu.maqiang.fes.BVPType;
import scu.maqiang.fes.FES2T31;
import scu.maqiang.fes.FES2T32;
import scu.maqiang.mesh.Mesh2T3;
import scu.maqiang.numeric.Direct;

public class StaticThermoElasticity2DT32 {

	public StaticThermoElasticity2DT32(Mesh2T3 mesh) {
		this.mesh = mesh;
		fs1 = new FES2T31(mesh);
		fs2 = new FES2T32(mesh);

		int dofTemp = fs1.GetNdof();
		temperature = new double[dofTemp];
		tempRHS = new double[dofTemp];
		gradient = new double[2][dofTemp];
		
		int dofElastic = fs2.GetNdof();
		elasticDisp = new double[dofElastic];
		dispRHS = new double[dofElastic];
		dispUV = new double[2][dofTemp];
		strain = new double[4][dofTemp];
		stress = new double[4][dofTemp];
		eqStress = new double[dofTemp];
		
	}

	public static void main(String[] args) {
		
	}
	
	public void execute(BVPType tp, double[] tempCoef, double source, 
			int[] DirichletBoundaryLabel,double fixedBV, 
			int[] NeumannBoundaryLabel, double fluxValue, 
			int[] RobinBoundaryLabel,double robinFluxValue, double convectValue, 
			double[] elasticCoef, double[] volumeForce, 
            int[][] fixedDispLabel, Direct[] direct, double[][] fixedDisp, 
            int[][] tractionLabel, double[][] traction, 
            int[][] pressureLabel, double[] pressure, double[] refTemp, String reportFile) {
		
	}
	
	Mesh2T3 mesh;
	FES2T31 fs1;
	FES2T32 fs2;
	double[] temperature;
	double[] tempRHS;
	double[][] gradient;
	
	double[] elasticDisp;
	double[] dispRHS;
	double[][] dispUV;
	double[][] strain;
	double[][] stress;
	double[] eqStress;
	
}
